#include "comm.hpp"

// int main()
// {
//     cout <<" hello process A" << endl;
//     return 0;
// }

// int main()
// {
//     //使用共享内存
//     int shmid = CreateShm();

//     log(Debug,"create shm done");//创建共享内存成功日志
//     sleep(2);

//     char* shmaddr = (char*)shmat(shmid,nullptr,0);
//     //类似malloc的使用方法，它的返回值也是void*，需要强制类型转换
//     //并且一开始只是在虚拟地址空间上申请的空间
//     //在需要被使用的时候，发生缺页中断，再将实际物理内存按照固定字节开辟空间后映射到虚拟地址上使用。

//     log(Debug,"attach shm done,shmaddr: 0x%x",shmaddr);//关联成功日志
//     sleep(2);

//     shmdt(shmaddr);
//     log(Debug,"detach shm done,shmaddr: 0x%x",shmaddr);//去关联成功日志
//     sleep(2);

//     shmctl(shmid,IPC_RMID,nullptr);
//     log(Debug,"destory shm done");//删除共享内存日志
//     return 0;
// }

int main()
{

    int shmid = CreateShm();
    char* shmaddr = (char*)shmat(shmid,nullptr,0);

    //A开始通信
    while(true)
    {
        cout << "client say@ " << shmaddr << endl;
        sleep(1);
    }

    shmdt(shmaddr);
    shmctl(shmid,IPC_RMID,nullptr);
    return 0;
}